package com.lp.test;

/**
 * @author: lp
 * @create: 2023-05-10 6:43
 * @description: TODO
 */
public class EXA {

	private final static String b = "A";//已经编译
	private static EXA A=new EXA();//1
	private String a ;//已经编译
	private Integer age =1;//1.0.2 对象属性赋值    3.2.1.0.1
	private String name="x";//1.0.3  对象属性赋值   3.2.1.0.2
	private final static String c = "C";//已经编译
	static {
		System.out.println("父类--静态代码块");//2
	}
	public EXA() {
		super();//  1.0.1   3.2.1.0
		//super()执行完后执行收集初始化属性(1.0.2)
		//初始化属性执行完后执行构造代码块(一定执行)
		System.out.println("父类--构造函数");//1.2  3.2.1.2  5.2
	}
	//构造代码块(构造函数执行super()后,收集初始化属性后，一定会执行)
	{
		System.out.println("父类--非静态代码块");//1.1  3.2.1.1  5.1
	}
	//3
	public static void main(String[] args) {
		System.out.println(666);//3.1
		new EXB();//3.2 加载类 就会执行子类静态初始化块 然后super() 再执行EXB类中构造代码块和执行构造器
	}
}

